package com.ocom.mqsimple.controller;


import com.ocom.common.constant.MqSimpleApiUrl;
import com.ocom.common.enums.ResultEnum;
import com.ocom.common.request.simple.SmsRequest;
import com.ocom.common.resp.Result;
import com.ocom.common.utils.RandomUtil;
import com.ocom.common.utils.ResultUtil;
import com.ocom.mqsimple.business.fysms.FySmsProductService;
import com.ocom.redis.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;


@Slf4j
@RestController
public class FySmsMqController {
    private Logger logger = LoggerFactory.getLogger(FySmsMqController.class);


    @Resource
    RedisUtil redisUtil;

    @Autowired
    private FySmsProductService fySmsProductService;

    @PostMapping(MqSimpleApiUrl.URL_FySms)
    public Result FySms(@RequestBody SmsRequest request){
        try {
            String mqKey = "MqSimple:sms:"+ RandomUtil.getRandomString(20);
            redisUtil.set(mqKey,request,86400l);
            fySmsProductService.FySms(mqKey);
        }catch (Exception e){
            logger.error("Fy-Sms发送mq失败  错误【{}】",e);
            return ResultUtil.error(ResultEnum.Err_4006);
        }
        return ResultUtil.success();
    }
}
